import rospy
from std_msgs.msg import String
"""
需求：
    消息订阅方:
        订阅话题并打印接收到的消息
"""

"""
步骤：
    1.导包 
    2.初始化 ROS 节点:命名(唯一)
    3.实例化 订阅者 对象
    4.处理订阅的消息(回调函数)
    5.设置循环调用回调函数
"""

def doMsg(msg):
    rospy.loginfo("订阅到的消息为：%s", msg.data)

if __name__ == "__main__":
    # 初始化 ROS 节点
    rospy.init_node("listener_py")
    # 实例化 订阅者 对象
    #参数1： 话题
    #参数2： 消息类型
    #参数3： 回调函数
    #参数4： 队列中最大保存的消息数，超出此阀值时，先进的先销毁
    sub = rospy.Subscriber("first_topic", String, doMsg, queue_size=10)
    # 处理订阅的消息(回调函数)
    # 设置循环调用回调函数
    rospy.spin()

"""
    配置CMakeLists.txt

    catkin_install_python(PROGRAMS
    scripts/文件名称.py
    DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
    )
"""